perm filename E.UPD[UP,DOC]13 blob
sn#354914 filedate 1978-05-16 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00006 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 All information in this file is included in E.ALS[UP,DOC].
C00003 00003 1975
C00013 00004 1976
C00051 00005 1977
C00092 00006 1978
C00118 ENDMK
C⊗;
All information in this file is included in E.ALS[UP,DOC].
This file is merely a HISTORY of the changes to E.
Contained herein are past news items that have now been merged
into the E manual. Everything mentioned in this file has been
documented in the E manual E.ALS[UP,DOC] (the "?" file).
Page references in this file refer to pages in E.ALS[UP,DOC],
but these references are not guaranteed to be currently accurate.
1975
∂1975 -- UDP files are remembered on file switching (maybe almost right).
∂1975 -- Formerly fatal errors kludged around.
Some formerly fatal errors no longer cause E to HALT, although the
fix may not always work and E may crash later after all.
∂6/75 -- The main timing problem on entering the line editor is fixed.
Now you can type ahead characters meant for the line editor without
waiting for the line editor to be set up after you have given a
command to edit a particular line. The fix involved a system modification.
∂6/75 -- Unexpected errors encountered by E are now automatically recorded.
An FBI program reports most of the mal-functionings to ALS when you
get into trouble and you may hear from him for more details if he
thinks that he can do something for you (or vice versa).
∂6/75 -- /F and /F/R modes break long pages up by inserting FFs.
See p. 20.
∂7/75 -- Bug in formatting SOS files fixed.
A recent bug in formatting SOS files has been fixed. Users are still
advised to repage such files with the /F switch if this is a
reasonable thing to do.
∂7/75 -- α<cr> restores previous line editor line when typing filename.
When you get the message "Try again" after specifying a file name
with some error, it is now possible to invoke the <control><cr> line
editor command to recall what you had typed so that you need not type
everything over again. Most of the time this does not work but it
does here.
∂7/75 -- The α* and αβ* commands repeat the last search command given.
See p. 13.
∂7/75 -- The ⊗; and ⊗: commands move straight up and down inside line editor.
The commands ⊗; and ⊗: do the same thing as ⊗↑ and ⊗↓ respectively,
except that instead of positioning you at the end of the new line,
they position you at the display column where you were when you gave
the command. Thus these commands move you (inside the line editor)
straight up and down, except that if the display column is in the
middle of a tab on the new line, then you are positioned at the
beginning of that tab and if the display column is beyond the end of
the newly edited line, you are positioned at the end of that line.
∂8/75 -- After exiting from E, the monitor command CONTINUE restores E
at the same line and page from which the command to exit was given.
∂8/75 -- Entering and leaving the line editor now does not set the
WRITE flag unless the line is actually changed.
∂8/75 -- Parenthesis finding/matching commands available. See p. 22.
∂9/75 -- The ⊗H (Home) and ⊗? commands now will take arguments. See p. 15.
∂9/75 -- Type ahead for line editor improved.
∂9/75 -- ⊗0⊗W and ⊗0⊗L now move half a window in the indicated direction.
∂9/75 -- Attempting to move the arrow off the screen usually caused the
window to be reset with the arrow in the middle of the window.
∂9/75 -- ⊗XLINCNT now reports the length of the current line and the
number of characters on the current page.
∂10/1/75 -- New partial-sign command ⊗∂<cmd>. See p. 24.
∂10/7/75 -- ⊗V redraws the screen on Data Disc displays without erasing.
αβV still erases before redrawing.
∂10/7/75 -- ⊗XBURP command causes RIPPLING to discard any whole records
of nulls from the current page only.
∂10/7/75 -- Macro defining and calling commands (⊗XDEFINE and ⊗Y) save
the user from having to type the same sequence of commands several times.
See p. 25.
∂10/9/75 -- Punctuation-at-end-of-line bug in XJUST command fixed.
∂10/16/75 -- Bug fixed in macro calls.
∂10/17/75 -- Un-copy-attach bug fixed.
An attempt to detach more lines than are in the ATTACH buffer no longer
causes trouble. The current line cursor may not be left where you expect
it to be but E does not blow up.
∂10/28/75 -- E now permits lines containing up to 133 characters to be
transfered to the line editor for editing (the previous limit was 120).
Lines longer than these limits may be broken up by XJUST and XJFILL
commands. Their lengths may be ascertained by the XLINCNT command.
∂11/11/75 -- Automatic directory updating for extended files.
If you edit with E a file that has been extended by some other
program, E will automatically update the directory. However, the
updated directory will not be written out until some other page of
the file has been changed and is being written on the disk. The
extended part of the file must be formatted correctly for E, which
simply means that any formfeeds found in that part of the file must
occur as the first character in a (200-word) record; otherwise, the
file must be reformatted and a new directory generated. When a file
has been extended properly, E will say how many pages have been
added to the file, or if none, how many records have been added to
the last page.
∂11/13/75 -- XSPOOL and XXSPOOL commands, will now spool the ATTACH buffer.
∂11/20/75 -- E files extended by other programs.
E can handle easily almost any file that has been extended by
another program even though the directory has not been updated by
that program. The single restriction is that the file must remain in
correct E format with Formfeeds occurring only as the first
character in a record. MAIL and RCV extend files ok. See p. 28.
∂11/20/75 -- The trailer line on the screen has been changed. See p. 5.
∂12/5/75 -- When more than 8 files are referenced, by file switching
commands, E now gives the new file the referencing number that was
assigned to the longest-unreferenced file. The user is warned of this
reassignment.
∂12/11/75 -- A new X command, XPROTECTION, is now available.
See p. 18 for details.
A warning is given when one enters a file that has the 400 protection
bit set (such files are not saved by DART).
∂12/12/75 -- New X commands: XMAIL, XSEND, XREMIND. See p. 18.
∂12/14/75 -- XMARK now works in ATTACH mode. See p. 18.
1976
∂1/16/76 -- Several new extended commands have been added
to allow TTY/Imlac users to execute commands that previously were
available only through certain characters not generally typeable on
TTYs; see p. 29. The XMARK command and XINSERT and β<FORM> are now
illegal in /N mode; they always used to die horribly in /N mode
anyway (will be fixed eventually). Bug in \ command fixed to clear
ESC I flag and clear search page number at top. XEXIST and ∃
commands includes "R" for current file if open in Readonly mode (for
ttys). /N included in filename displayed when in no-directory mode.
Various other improvements in tty/imlac service. XTYPE command (old
command) now accepts search distance as amount to type out; mainly
useful in conjuction with new XMSG (XPARTIAL) commands:
XMSG<cr>XTYPE<cr> will type out current message in mail files, or
current page if no ∂'s. Certain filehacks (eg, \GRIPES) can be
typed to E where filename is expected; allows easy abbreviation of
names of certain files on [2,2]--see p. 30.
∂2/4/76 -- New commands XLPAREN and XRPAREN. See p. 22 for details.
∂2/13/76 -- Changes to commands FF, VT, L, T, B. New commands ∧ and ∨.
All users are urged to refer to p. 7 for details of these changes which are
quite extensive and which make window moving much easier.
∂2/14/76 -- Searching from first character on line. Null substitution.
The old E bug causing searches to ignore the first character of the
current line is fixed! Also, the null substitution string bug has
been fixed completely now (we think).
∂3/19/76 -- The old limit of 511 characters on a line has been removed.
XBREAK will break lines (of any length) at specified column position. See p. 12.
The XJOIN command has been modified to join lines without introducing
spaces for deleted CRLFs. (It now undoes an XBREAK.) See p. 12 for details.
Up to 23 marks in a file allowed (page and line numbers limited to 262142).
The repeat argument limit of 510 has been increased to 262142.
The ≤ and ≥ commands now take repeat numeric arguments.
The Z command (Imlacs only) now accepts a numeric arg which causes an
L command to be simulated with that (relative or absolute) arg first.
∂3/22/76 -- New switch /13E begins edit at end of page 13.
/E (no argument) begins edit at end of the file's last page.
An old bug has been fixed that caused characters to be lost from the middle
of a message file when rippling occurred if the file was bigger than 8K.
Any number of substitutions can now be done explicitly and E will
no longer stop and request confirmation after 100 have been done.
∂4/6/76 -- Several minor new features.
A page bloated by more than 18 records will automatically be burped
when written out.
⊗#⊗V waits # seconds after displaying screen if # is positive; useful in macros.
Bug fix in macro expansion for αK and αS followed by activator.
⊗T and ⊗B made legal from line editor, but they will not move arrow
in that case; that is, the arrow line will not glitch past edge of
screen when these commands are given from the line editor.
⊗G and ⊗π commands removed (they have never been documented,
so don't look for them).
Window position (as well as arrow line) maintained on exit followed by CONTINUE.
∂4/9/76 -- More minor changes/bug fixes.
After E has made you confirm a null substitution command, it no longer
forces the first substitution to be done with the line editor.
⊗R command (replace attach buffer) no longer dies if you have switched
files. Gives error message instead.
⊗XRSYS ⊗XRUN ⊗XTV commands fixed not to spuriously set "command given
from line editor" bit when swapping in new program.
⊗XBACKGO command modified to restore window position on page returning to.
α<space> in macros has been fixed (was broken when αK was fixed on 4/6/76).
∂4/11/76 -- Line redrawing bugs fixed.
For a long time (since last summer), E has failed to redraw (on DD) any
line which was entered into the line editor with a non-line-editor
command (commands other than αS α<space> α<tab> etc.) and which was
activated with altmode. This bug has finally been fixed, and it is now
claimed that all line-redrawing bugs have been fixed. If you see E fail
to correctly display one or more lines, please report to ME exactly what
you did to make it lose. Thanks--ME.
Also fixed is the failure to redraw the attach buffer when ⊗-⊗C is given
with more than 8 lines attached.
∂4/22/76 -- Lots of bugs fixed, mostly in /N and multipage modes.
Approximately 20 bugs have been fixed, including at least 3 in /N mode
operation and at least 10 in multipage mode operation. It is now
believed that both of these modes should be completely reliable!
Multipage mode involves having two or more consecutive pages in core at
the same time and is invoked by the commands β<FORM>, XINSERT, XAPPEND,
XDELETE and XMARK; all of these commands were formerly capable of causing
trouble, although the trouble in certain cases would not be noticed until
you tried to write out a page. All of these should work in all cases
now, including multipage mode in a /N file.
Other new features:
The line and page numbers on the trailer line are now kept current with
respect to the arrow line, even in multipage mode. The header line now
lists the range of pages in core in multipage mode, and the line number
that appears on the header line is relative to the beginning of the whole
range, not the arrow line's page. The total number of pages displayed on
the trailer line in a non-formatted file (/R) is changed from "?" to the
actual number as soon as the actual number is known. The record and
character counts usually displayed on the trailer line are suppressed
(replaced by ?R) when editing a non-formatted file (in /R mode).
The R command (Replace attach buffer) no longer leaves multipage mode if
the original page from which the attach buffer came is one of several
pages in core.
The new XALIAS command can be used to change your alias PPN. It takes a
following text argument in exactly the same form as the system ALIAS
command: 1) PRJ to set project to PRJ and programmer to logged in name,
2) PRJ, to set project to PRJ and retain previous alias programmer name,
and 3) PRJ,PRG to set both project and programmer. Note that the XALIGN
command forces at least ALIA to be used in the name of the XALIAS
command. The XALIAS command types out your new ALIAS on both the current
piece of paper and PP 0 so that you will see your changed alias when you
exit.
Saying "N" to all three questions about formatting a non-formatted file
that you are trying to switch to no longers causes the attach buffer to
be spuriously discarded and the screen to be reset to the normal piece of
paper.
If you switch away from a /R file when you have made changes to the
current page, E still does not write out that page nor does it ask you
what mode you intended, BUT it does give a warning that the changed text
was not written out.
The new #XAUTOBURP command sets the threshold number of records of nulls
for autoburping to the number # specified. A zero or negative arg
disables autoburping entirely. An arg of just "+" sets the threshold to
its default value, which is currently 19. If no arg is given, E will
simply type out the current threshold. (A page to be written out that
has the threshold number of records of nulls, or more, will be
automatically burped to delete all records of nulls from that page.)
αD used in macros to delete a CRLF has been improved. To work
completely, however, it must be preceded by a α<tab> (or αK<cr> or
αS<cr>) which is not separated from the αD by any character with control
bits. E.g., α<tab>XYZαD and α<tab><bs>XαD will work properly, but
α<tab>α<bs>XαD will not do the right thing in certain cases. Note that
it is only in macros that αD doesn't always work--plain typeahead still
works perfectly. (The effect of bad uses of αD is that characters after
the αD in the macro definition up through the first activation character
following are not "typed" until the macro expansion ends, which can be
particularly noticeable if you use a repeat argument on the ⊗Y command.)
A warning message is generated at initialization time if the upper
segment is not write protected or if the upper segment checksum is not
correct.
∂4/23/76 -- Bug fix to attaching text in non formatted file.
Attaching text in a non-formatted file and then switching files and
putting down the attached text used to cause a "former WRITE CODE
ERROR" if the page in the non-formatted file did not end with a CRLF.
This bug has been fixed.
∂4/27/76 -- Filename scanner cleaned up.
Partially specified filenames are now parsed correctly. This mainly
fixes the parsing of filenames like "FOO[1]", in which the programmer
name assumed is now always your alias programmer name. Also, devices
(such as "UDP:") found in TMPCOR files are no longer sticky--you must
specify UDP: each time you want it.
∂4/27/76 -- Change to effect of αL and αP in multipage mode.
(Note that αβL and αβP are unchanged. TTY users note that the effect you
now get with the L and P commands is that of αL and αP as described below.)
The αL command will go to the specified line on the current page, which
is defined as the page the line you are pointing to is on. Thus if you
are on line 3 of page 4, then ⊗1⊗3αL will move the arrow down 10 lines
(to line 13), but not beyond the pagemark for page 5, whose line is
considered to be on page 4 like the row of asterisks at the end of the
last page in core. The αβL command moves to the specified line within
ALL of the text in core, treating pagemark lines like normal lines; for
example, just αβL will always move to line 1 of the first page in core
whereas αL will always move to line 1 of the current page (defined by the
arrow). If you have only one page in core, αL and αβL are identical.
The αP command will not flush the incore page(s) if the requested page
is already in core. In this case, the arrow will simply move to line 1
of the specified page. The αβP command always flushes the incore pages
and reads in exactly the one page requested.
∂4/30/76 -- αβI and αβ<cr> at beginning of line editor changed.
These commands no longer insert a blank line ahead of the new blank
line about to be edited in line insert mode. This change only
affects the results of giving either of these commands from the line
editor when the cursor is at the beginning of the line.
Also, a bug has been fixed that previously prevented ending a find
command with a line editor command when the current line was either
blank, a pagemark, or the row of asterisks at the end of a page.
∂5/11/76 -- XSPOOL XXSPOOL XMAIL XSEND XREMIND now take numerical args.
These commands used to output as text either the whole attach buffer
or the whole page. Now, however, a preceding numerical argument to
any of these commands specifies the number of lines to be output
(spooled or mailed). If any text is currently attached, the output
will consist of the specified number of lines at the beginning of the
attach buffer; otherwise, the output will consist of the specified
number of lines (from the page) starting at the current line. As
before, if no argument is given, the output is either the whole
attach buffer (if any) or the whole page. The argument to these
commands can be specified by a search command (⊗F ⊗XFIND or ⊗∂) just
as can be done with the commands ⊗A (attach) ⊗C (copy) and certain
others. For example, ⊗∂⊗XMAIL PRG<cr> will mail the current message
to PRG.
Note: a zero or negative argument to MAIL, SEND, or REMIND can be
used to send a one-line message entirely from the X-command line (no
text from page or attach buffer sent). To do this, you MUST separate
the message text on the command line from the command itself with a
Formfeed. For example, ⊗0⊗XSEND ME<ff>Hey, it really works!<cr> will
send ME the message "Hey, it really works!" This technique can also
be used to include a subject line or initial text line ahead of the
message text being output from the page (or attach buffer). That is,
⊗∂⊗XMAIL/SUBJECT PRG<ff>Sending mail from E<cr> will mail the current
message to PRG with the subject "Sending mail from E".
A bug has been fixed in macro expansions that involved typing the
line editor command αK or αS as the first character on a line.
The ⊗V command now redraws the screen immediately, whether typeahead
is present or not.
∂5/18/76 -- XSAVE command added--writes out page & attach buffer in E$SAVE.TXT.
This new command saves the current state of your incore page text,
including any attach buffer text, in the file E$SAVE.TXT on your LOGIN
disk area. This is now done automatically for almost all fatal errors
detected by E; when it happens as a result of such an error, a message
to that effect is typed out. (The file E$SAVE.TXT may NOT be written
out successfully if the error is detected again while writing this
file.) Note that any previous E$SAVE.TXT file is superseded (replaced)
by the new file. Note also that this command (and its automatic call
upon error detection) does NOT touch the file you currently have open
for editing.
A bug has been fixed that (rarely) caused rippling when unnecessary.
The maximum size of a macro definition has been doubled to 239 characters.
∂5/25/76 -- Leading tab on line means new paragraph during justification.
A bug has been fixed that caused lines beginning with a tab not to be
interpreted as the beginning of new paragraphs in justification. Tabs were
correctly recognized previously only on the line the arrow pointed to.
∂5/27/76 -- New directory search command: ⊗F<string>⊗: finds labels.
This command will search the directory and go to the page for which the
<string> is found. Then it will search that page for an occurrence of
<string> immediately followed by any of ":", "=", or "←". Thus, labels
such as START: or definitions such as START=10 or START←10 can be
found easily if START occurs on the page's first (directory) line--use
the command: ⊗FSTART⊗: (as usual, αβF finds a delimited string; the ":"
will be detected correctly if it is the ending delimiter).
Also, both the ⊗F⊗P and ⊗F⊗: directory search commands has another form
to cause E to search only directory lines for pages following the
current incore page(s). The form to get this effect is ⊗F<string>⊗+⊗P
or ⊗F<string>⊗+⊗: (that is, precede the ⊗P or ⊗: immediately with ⊗+).
This is useful when a string occurs on several directory lines.
∂6/1/76 -- Minor bugs/features fixed.
⊗∂αβD given on an empty incore page will now delete the page itself.
Formerly, this command was a no-op on a empty page.
An ET<cr> command which finds that the file named in TMPCOR is gone
(e.g., deleted) will no longer look for another file with different
extension.
The ⊗∂ command will not go beyond an incore pagemark.
αβD has been repaired to preserve the location of marks beyond the
line(s) that are being deleted.
The directory search commands (⊗F⊗P and ⊗F⊗:) now work correctly in
multipage mode.
∂6/3/76 -- <CR> at end of page no longer adds a line--use β<CR> or αβ<CR>.
This change allows <CR> to be used near the end of a page without the
risk of changing the page (setting the W flag) by accident. To add a
blank line when you are at the end of a page, use β<CR>. To add several
blank lines, use ⊗#αβ<CR> (which adds # blank lines). To add text at
the end of the page, simply type over the row of stars as before; when
you activate that line with anything but <ALT>, its text will be on a
newly added line just like always. To add lots of text at the end of a
page (or, for that matter, anywhere in a page), type αβ<CR> to enter
line insert mode. MAIL your COMPLAINTS or COMPLIMENTS to ME.
Now, when you leave a READONLY file from a page which had been altered
(W flag on), you get the standard message:
SORRY -- PAGE HAS BEEN ALTERED -- PLEASE REAFFIRM MODE.
You can then type either READONLY or READWRITE to determine whether the
altered page will be written out. Formerly, changes to such a page
where simply ignored and you had no chance to write them out after you
had given the command to change files.
The ε and λ commands not preceded by a numeric argument now update the
display before reading the new filename unless a whole line (the new
filename) has been typed ahead.
An <ALT> response to any of the questions about formatting implies NO to
that question and suppresses any remaining questions, thus letting you
immediately enter a new filename without having to say NO three times.
∂6/26/76 -- ⊗XHEIGHT command
This new command, preceded by a numerical argument, sets the number
of lines of display to use for text. This is especially useful on
IIIs to reduce flicker. For example, ⊗2⊗0⊗XHEIGHT<cr> will cause E
to use 20 lines for displaying text. Minimum size is 10 lines (since
attach buffer can use 8). Maximum is terminal dependent. ⊗XHEIGHT
without an argument will reset to normal size.
∂8/8/76 -- A potential bug occasionally resulting from deleting several
in-core pagemarks has been fixed.
∂8/20/76 -- DMs are now considered displays by E.
There are 17 lines for text in E on DMs. There is no arrow for the
current line; only the position of the cursor under the first character
of the line indicates the "arrow" line. Thus there is no easy way to
tell the difference between editing a line with the cursor under the
first character and not being inside the line. Later, the DM line
editor will be displayed as bold, so it will be easy to tell when you
are inside a line.
Since there is no arrow, there is no double arrow for line insert mode,
and there is essentially no way to detect that you are in line insert
mode, except that when you type CR, a new line is inserted. However,
this shouldn't cause any difficulty since the commands legal in line
insert mode are exactly the same as those legal in line edit mode.
Attached lines are indicated by displaying them as bold or blinking
(blinking if you haven't had your DM modified, bold if you have) instead
of preceding them with a vertical bar. Attached blank lines are
slightly difficult to detect since a bold or blinking blank is still
blank. In attach mode, the cursor is returned to the page printer at
the bottom of the page.
Whenever E has to redraw the whole screen on a DM, any display output
still going is flushed since it would be overwritten anyway.
When E doesn't have to redraw the whole screen, it is possible that it
might fail to leave the line editor correctly displayed if you have
typed ahead. You can always correct the line editor display by typing
ESC R (i.e., NULL R). If the screen text displayed is also screwed up
somehow, αV (i.e., EDIT V) will redraw the screen correctly.
∂8/20/76 -- Line editor no longer erased on DD/DM when activated while editing text.
Thus, the version of the line editor that appeared when you activated it
will be left on the screen. This is convenient if, for instance, you
are doing multi-page searches from the line editor and want to look at
the final version of the line you edited while the search is running.
Note that if you typed ahead a lot and it had not all appeared yet when
you activated, then you may not actually see the final version of the line.
∂9/5/76 -- Major changes have been made to the JUSTification commands, and
7 new commands have been added. The new features greatly extend the
usefullness of these commands so that text in unusual forms can be
handled. Many of the defects and shortcomings of the older version have
been corrected. Report any bugs to ALS.
The more important changes that will affect all users are listed
below.
1) Left margins are now specified as indents, not as column positions,
that is, if one wishes to specify that the line is to start with no
indent one types 0 not 1 as formerly. This makes all commmands
consistent. Right margins are still in terms of column position.
Specifications are now always sticky and the initial default values
are 4,0,74.
2) It is now possible to specify the number of blank lines to be used
between paragraphs. The default condition is (as before) for there to
be the same number of blank lines in the justified text as there were
in the original and this is signalled by a -1 as the fourth number in
the specifying string (4,0,74,-1). Existing specifications can be
seen by typing a justifying command specifying 0 lines.
3) Switches are now used to change the way that E detects the start of
a new paragraph. The default switch N (for Normal) approximates the
conditions formerly used. Blank lines still signal a paragraph break
(as they do for all switches). Instead of requiring a TAB as the
first character (when bank lines are not used) any indent ≥2 is now
taken as a crown line. Other switches allow E to asertain the
existing indent conditions from the text itself and to use these, A
for arbitrary, conditions to signal new paragraphs. (Try typing ⊗0⊗XJU
to see how the switch setting is reported.) Read p. 16 before trying
to use any other switches. People who like to use blank lines only as
new-paragraph indicators and who want their text left with no indents
can achieve this condition by typing A 0 as a following string after
their first JUST command (separated fron the command name by a space).
(See p. 32 for a longer list of changes and p. 16:18 for full details)
∂9/20/76 -- DM line moving hardware utilized.
On DMs, when lines on the screen simply need to be moved, the DM
insert/delete hardware for lines is used to avoid having to redraw any more
text than necessary. This involves some attempt at optimization of which
lines get moved and which redrawn when lines on the screen need to be
moved across each other (which cannot be done). Bugs to ME.
∂10/4/76 -- Improvement in use of DM hardware; "∞" accepted in switches.
You can now use "∞" (infinity-sign) as a value in a switch, e.g., /∞P.
It represents a very large positive number and cannot be negated.
On DMs, the line-moving hardware is now NOT used unless it results in
saving at least 10 output characters.
∂10/10/76 -- Three minor bugs fixed.
1)Fix to ⊗F⊗P to remember control-bits on ⊗F for subsequent ⊗* commands.
2)Test for line-too-long-for-line-editor made slightly more conservative.
3)Fix to not screw up when FF found in last word of record in /R file.
∂10/21/76 -- New /S switch; also /N switch no longer needs confirmation.
1)Formatting of /N files no longer needs to be confirmed by user.
2)New switch /S means edit new file at Same line & page as at in current file;
for example, if you are at line 12 on page 15 if file FOO and say
⊗εBAZ/S<cr>, then the arrow will be positioned at line 12 on page 15 of BAZ.
∂11/15/76 -- New command ⊗XEXACT causes searches to distinguish case of letters.
The new extended command ⊗XEXACT causes any subsequent searches to
distinguish between upper and lower case letters. Searches will succeed
only if the searched text contains the same cases of letters as given in
the search string. The command ⊗-⊗XEXACT will disable this feature and
thus cause searches to ignore the case of letters.
Also, the default paragraph indent for the justification commands has been
changed back to its original value of zero (it had recently been 4).
1977
∂1/5/77 -- A bug in XBREAK has been fixed. If an attempt is made to break
a line in the middle of a TAB the break precedes the TAB except for the
unusual case where the first character is a TAB and the BREAK value has been set
at less than 8.
∂1/8/77 -- Two new commands XTIN and XSIN have been added. TIN puts
Tabs IN, in place of spaces when this will save space and when it is
allowable. This may make it possible to save space on the disk,
providing, of course, that the TIN command is followed by an XBURP
command. SIN puts Spaces IN, in place of TABS. See page 19 for details.
Either command may take an argument, with the default value being the entire
page or ATTACHment.
∂1/12/77 -- The substitute command now handles long lines and will not let
you substitute for a CR (found, for example, by the use of the "any
delimiter" symbol "|").
∂1/15/77 -- MARKS on deleted or attached lines are now moved to the first line
after the deletion or attachment. XCANCEL restores marks with the restored page,
of course, only if the marks had been previously saved by an αβ. command or by
switching pages.
∂1/17/77 -- Two very old bugs fixed: one in free storage routines and one
in directory line maker (called when you change first line on page or edit
/R an unformatted file). Also, ∃ command now always reports the index
number of the Home file.
∂1/21/77 -- Line MARKS now stay with the right lines during αβXAPPEND, β<FF>
and αβD (as applied to an in-core FF) operations. They are still adversely
affected by XBREAK, XJOIN, XJUST and related commands.
∂2/5/77 -- Two new commands ⊗XNDFAIL and XNDSAIL generate and insert a new
first line (appropriate for the directory) in appropriate FAIL and SAIL
formats for labels and for specified categories. No new line will be
generated if the page is empty.
These commands apply to the current page but if more than one page is in
core (through the use of XAPPEND or **<ff> commands) then the information
will be gathered from only that page in which the current line is located and
the information will appear as a new first line on this page. Note: this was
changed on 3/15/77.
The XNDSAIL command may be used as an information source in a variety
of different ways. It is not intended for use with text material.
XNDFail, given with a <cr> termination, lists all labels.
Given with a α<cr> it lists only those labels that have one or more ↑'s
Given with αβ<cr> it lists only those labels with ↑↑ (or more).
This command does not take arguments (unlike XNDS). If the command is
typed with a prefix argument of 0, it states the conditions outlined
above and is otherwise a NO-OP.
XNDSail, given with a <cr> termination, lists all words that are preceded by
certain catagory words, the default words being RECORD!CLASS,
RECORD_CLASS and PROCEDURE.
Having found a catagory word the program lists the first word following
the catagory word and then ignores any following text until either a comma
or a semicolon is encountered. When a semicolon is encountered the search
for a new catagory word is resumed. If, on the other hand, a comma is
encountered (not however within parens) then the next word is taken as
another example of the catagory and it is listed, preceded by a comma.
Listings following different catagory words are saparated by spaces.
One additional category may be specified by typing its name after a
space following the command name and terminating it by a <cr>.
Up to 4 new categories may be specified with the categories after
the first one replacing the default categories, one by one.
To retain some default categories the list is terminated by a <cr>
If the typed list of categories is terminated by ⊗<cr> then only the
typed categories are used, and the default ones are eliminated.
If the command is terminated by ⊗<cr> without any typed category names
then the original default categories are reinstated.
If given with a prefix argument of 0 this command will accept any typed
categories and then will list the categories that are in effect
without generating a text line.
∂2/11/77 -- The system command ET? now gets the E manual E.ALS[UP,DOC] directly.
∂2/16/77 -- The method of loading E on an ET command has been changed. The
system no longer needs to find space for an upper segment which it would
end up not needing, if some one else is already useing E. Now only a lower
segment is loaded, and code in this section checks to see if there is already
an upper segment. If there is, no new segment is loaded.
∂3/8/77 -- At the end of a line of text, the following line editor commands
no longer activate uselessly: α<TAB>, αS, αK, αR, and META-<plain char>.
∂3/8/77 -- Reporting of FIND and related commands has been augmented to
show "(observing case)" or "(ignoring case)" depending on the state of the
EXACT switch. The fact that the search was for a delimited string is now
indicated by the use of "|" instead of the usual "\" delimiters (which are
still used for an undelimited string search).
Furthermore, a zero argument to any of the Find or Substitute commands
(⊗0⊗F, ⊗0⊗XFIND, ⊗0⊗*, ⊗0⊗\) will simply cause the search and/or
substitute string for the given command to be typed out. Note that ⊗0⊗F
thus does not take a following search string argument.
∂3/8/77 -- E can now be in any one of three possible reporting states.
The reporting state determines how much information E types out at various
times. The three states are: the normal default state, a verbose state
achieved by the command ⊗XVERBOSE and a terse state achieved by the
command ⊗XTERSE. The normal state can be restored by giving either
⊗-⊗XVERBOSE or ⊗-⊗XTERSE. You can find out the current state by giving
either ⊗0⊗XVERBOSE or ⊗0⊗XTERSE. The normal state now does somewhat less
reporting (that is, less typeout) than formerly, especially for the
parenthesis commands. However, a new command ⊗XPINFO has been added to
give you the details of the last parenthesis command (or use ⊗XVERBOSE).
No error messages are ever suppressed by the terse state.
The following remarks are currently suppressed only in the Terse state.
Only one MARK and you are there!
There are no marks!
Already marked!
Not marked!
All marks have been cleared.
Removing last MARK on this page.
MARKS on this page only have been cleared.
Page is empty. (XNDFAIL, XNDSAIL cmds)
Aborting macro ... (error occurred in macro while in ⊗XSTOPONE mode)
Abort of # macros requested from ... (⊗#⊗XABORT cmd given)
The following remarks are typed out only in the Verbose state.
N characters added/removed (justify commands)
Line now has N chars. (join)
You have replaced XXX with YYY (substitute)
(detailed reporting of the parenthesis commands--use new ⊗XPINFO)
The new line of N chars lists M items (new directory line commands)
Calling ... (calling a macro)
Ending ... (a macro has finished)
Suggestions other informational remarks to suppress will be accepted.
∂3/15/77 -- Bunch of small fixes and a couple of new features.
Left- and right-arrow cmds made to use search length arg.
"I" displayed on header line while in line-insert mode (especially for DMs).
Fix to prevent inputting of BS in a line of text.
Multipage fix to NDFAIL and NDSAIL commands.
Fix to updating of trailer line.
Fix to XRUN and XRSYS cmds to use default extension of DMP to return RPG starts.
Fix for ambiguous extended command given from line editor.
∂3/30/77 -- Preparations for expanded macro facility.
⊗XEMPTY and ⊗XNONEMPTY commands have been added to move to next empty or
non-empty line. A repeat argument will cause these commands to look for
that many empty (or non-empty lines). A negative arg will cause the
search to go backwards. A positive arg (or default of 1) will ignore the
current line and search from the next line, but will not cross a
subsequent incore pagemark; hence the search is of only one page. These
commands can also be used, both inside and outside macros, to tell if the
current line is empty--use a zero arg: ⊗0⊗XEMPTY is a no-op if the
current line is empty, but will say something and stop any running macro
if the current line is non-empty; ⊗0⊗XNONEMPTY is a no-op if the current
line is non-empty, but will say something and stop any running macro if the
current line is empty. The reason for these new commands is that soon it
will become legal for line editor commands to be used to get into the line
editor on empty lines, thus those commands will no longer stop macros on
empty lines.
Also:
E now enables wholine filestatus during rippling.
Some multipage fixes to justify and TIN and SIN and TABLE commands are now in.
CETV FOO←BAZ has been made equivalent to ETV FOO←BAZ.
Line too long for line editor tells how long it is.
∂4/4/77 -- Several minor bugs fixed.
Location to return to by XBACKGO command preserved over page deletion.
Fix to CONTINUE after exit (and XCLOSE) to ensure file hasn't changed.
Fix to CONTINUE after LOOKUP error.
Fix to XBURP command and autoburping to make them work in all cases.
Fix to avoid infinite loop when detached.
∂4/7/77 -- More preparation for multiple macros, plus some minor improvements.
Line editor commands have been made legal when pointing to an empty
line. The important things to note are (1) that αD given when pointing
to an empty line will delete the CRLF and leave you with the following
line in the line editor, (2) that αI given when pointing to an empty
line will enter line insert mode there, and (3) the commands αS and αK
given when pointing to an empty line still take a following arg (to
search or kill to) although such a search or kill on an empty line is a
no-op.
An "A" is now displayed on the header line when in attach mode.
Display lines not used with a short page in core on a DM are correctly erased.
∂4/10/77 -- Change to ⊗XMARK command in attach mode at top of page.
To facilitate moving pages around in files, the ⊗XMARK command given
while in attach mode first puts down the attach buffer and then
inserts the pagemark. However, now if you are at the beginning of a
page when you do this, the pagemark will be inserted beyond the
put-down attach buffer, so that in this case, you will end up with
the lines that were previously in the attach buffer now on a page by
themselves. Formerly, in this case you would have ended up with an
empty page with the ex-attach-buffer text on the next page.
A bug has been fixed which caused a line not to be redisplayed when
altmode was typed from line insert mode on a DM.
∂4/28/77 -- One new command (!) and several small fixes.
The exclamation-point (!) command has been added to operate on paragraphs
in the same way that the partial-sign (∂) command operates on messages.
NOTE: "PARAGRAPH" here means a contiguous group of non-empty
lines plus certain surrounding empty lines (if any).
Included in the paragraph of the ! command are: one empty
line (if any) at the beginning of the paragraph and all but
one of any empty lines at the end of the paragraph. Thus
within a group of continguous EMPTY lines, only the last
line is really considered by the ! command to be non-empty.
The two commands ! and ∂ don't actually do anything until you type another
command. If that following command accepts a search distance argument,
then the effective argument will be the number of lines in the current
paragraph (! command) or message (∂ command); for example, ⊗!⊗XJUST<cr>
will justify the current "paragraph". If the command that follows ⊗! or
⊗∂ does NOT accept a search distance argument, then that command is
carried out after moving to the beginning of the next paragraph (!) or
message (∂). The one case in which the ! and ∂ commands don't take a
following command is when a preceding zero argument has been supplied
(that is, ⊗0⊗! or ⊗0⊗∂), in which case the command immediately moves to
the beginning of the current paragraph (!) or message (∂). Like the ∂
command, the ! command will delete the current pagemark if you attach or
delete all the text on the page with this command.
Other changes to E:
The <vt> character is now treated as an ordinary character by the various
justification type commands (XJUST, XJFILL, XTIN, etc). This character
will display as an integral sign although it is typed out or listed as a
vertical tab (i.e., several linefeeds).
Two minor justification bugs have been fixed. The arrow now always stays
where it should on XSIN commands, and two spaces are now always left after
punctuation ending a sentence during XJUST commands even if the
punctuation occurred at the end of a line in the original text.
PAS (PASCAL) has been added to list of standard filename extensions looked for.
ETV <FILE1>→<FILE2> now works again (provided <FILE1> has a directory).
This copies <FILE1> into <FILE2> and then edits <FILE1>.
Altmode typed in the middle of a line in line insert mode now saves the
text of that line. Thus altmode given in line insert mode will now only
delete the current line if that line is completely empty.
∂5/6/77 -- Line marks now saved and restored via TMPCOR file; other minor fixes.
A new switch of the form /a,bM places a mark on page a at line b.
This is used in E's TMPCOR file to save and restore all line marks.
Old bug fixed that caused wrong device to be kept open when file not found.
Cleaned up αM command to avoid losing if page or line of mark doesn't exist.
Line editor cmds made illegal once again if pointing to end of page (for macros).
⊗XBACKGO fixed for several cases where it used to return to the wrong right place.
∂5/9/77 -- Macro expansion fixed to know about new line editor commands.
Also, ⊗XXSPOOL now uses the system default font.
∂6/2/77 -- Improved macro facilities with named, recursive macros. See pp. 25-26.
Also:
RPG startup with zero filename causes E to read (and later write) TMPCOR file.
Bug fix to ! and ∂ commands when given from inside line editor.
Minor bug fix to NDFAIL,NDSAIL commands in case where previous dir line was empty.
Exiting not allowed during macro expansion.
Blank lines at end of page now considered part of prev paragraph by ⊗! command.
Fixes to prevent spurious /N or /#F typed out when file not found.
Fix to return home to right place when left home with multiple pages in core.
∂7/3/77 -- Greatly improved disk buffering (using caches) on input and output.
Also:
Added .MID (MIDAS) to list of desired extensions.
Added .FNT and .CFT (fonts) to list of undesired extensions.
Attaching/copying/releasing fixed for case where next line is a pagemark.
Fix to avoid free storage error if indirect file ends with incomplete macro def.
Fix to infinite repeat arg for macro calls; max repeat arg limited to 131064.
∂7/14/77 -- One new command, a slight mod to the ⊗! command, and a fix to ⊗XBREAK.
⊗XWRITTEN command added to find out when the current file was previously
written and who did it (PPN and jobname).
The ⊗! command now never deletes a pagemark (the ⊗∂ command still does).
The ⊗XBREAK command now breaks properly lines in which a tab reaches
exactly to the break limit.
∂7/27/77 -- Extended searches in unformatted files are much improved.
Formerly, it was possible for an extended search in an unformatted file
to fail to find an existing occurrence of the search string, or worse,
for an ill mem ref to happen when it did find it. Both of these bugs
have been fixed. However, note that extended searches in unformatted
files still cannot go beyond the last page that you have looked at.
The directory is used for finding where each page starts in an extended
search, and the directory will only be complete out to the last page
that you have actually gone to. Thus, to make sure extended searches
can go all the way to the end of the file, you should first move to the
last page of the file (allowing E to generate the complete directory)
with a command like ⊗∞⊗P. This does not apply to any file that already
has a valid directory, nor to any file being edited /N.
Also, a couple of other bugs fixed:
Fix to prevent infinite loop when doing ⊗-⊗P from directory page in
unformatted file.
Minor fix to filehack parser.
∂8/3/77 -- Couple of rare bugs fixed.
Fix to ⊗XAPPEND to disallow editing of pagemark from newly appended page.
Fix to ⊗Q command to do nothing if previous line is a pagemark.
∂8/14/77 -- Minor fixes.
Fix to make sure trailer values get updated when switching files.
Doesn't say "Are you sure that ... will approve" if not overwriting old file.
Slight fix to DM display routine to force redrawing line below line editor.
Fix to avoid spurious retyping of last line on non-displays.
∂8/19/77 -- Improvements for non-display users; slight changes to old commands.
1. To allow substitution commands to be given from non-displays, E now
accepts a LINEFEED AT THE END OF A SEARCH STRING to indicate that a
SUBSTITUTION STRING IS COMING next. Thus, the following commands are
equivalent (although the first is difficult or impossible to type on a
non-display):
αFsearch stringα\substitute string<cr>
αFsearch string<lf>substitute string<cr>
Similarly, the following multipage substitute commands are equivalent:
αXFIND search stringα\substitute string<cr>
αXFIND search string<lf>substitute string<cr>
2. A non-display user can now execute commands that require use of
particular combinations of the "bucky" bits CONTROL and META. Two new
extended commands are used to specify what bucky bits are to be assumed
with the next command character.
⊗XCONTROL<cr> causes the next character to have only
the bucky bit CONTROL.
⊗XMETACONTROL<cr> causes the next character to have both
bucky bits META and CONTROL.
If neither of these commands is used on a non-display, a command that
makes a distinction between CONTROL and META-CONTROL will execute the
CONTROL version; and a command that distinguishes between any bucky bits
and none at all will execute the no-bucky-bit version.
Here is an example of using the ⊗XMETACONTROL command to do a delimited
search (and a substitution); the command
XMETA<cr>Fthis<lf>that<cr>
will find a delimited "this" and substitute "that".
3. To facilitate unambiguous abbreviation of the new ⊗XCONTROL command,
the old ⊗XCONTINUE command for resuming macro expansion has been renamed
to ⊗XRESUME.
4. Two new responses are now acceptable replies to the various Yes-or-No
questions about formatting that E asks when you try to edit a file that
doesn't have a directory. You can say /R to have E edit the file in
Readonly mode, or you can say /N to have E edit the file in No-directory
mode. NEITHER OF THESE TAKES A CARRIAGE-RETURN. These new responses save
you the trouble of waiting for the appropriate question to come up. They
are also useful if you accidentally answer the appropriate question with
a No.
5. ESC I will now interrupt any multiple substitution (even a one-page
type) after the next substitution.
∂8/20/77 -- New ⊗O command is just like ⊗XBACKGO<cr>--goes back to Old page.
Also:
⊗XBACKGO command fixed to remember place to return to over ⊗XAPPEND command.
Rare bug in file macros fixed (used to cause ill mem refs).
∂8/23/77 -- Bug in /R/F mode fixed.
∂9/5/77 -- Repeated macros can now be made faster; other minor new features.
New command ⊗XCHECK enables checking of free storage (currently the default);
⊗-⊗XCHECK disables free storage checking; ⊗0⊗XCHECK reports the
current condition of free storage checking. Macros which are to be
executed many times (e.g., 100 or more) will often be executed
significantly faster if free storage checking has been disabled. It
is recommended, however, that free storage checking normally be left
enabled (except when you are repeatedly executing a macro) because
internal E errors are detected much faster that way, with less chance
for clobberage of your file.
Macro expansion fixed for use of αI not at end of line editor in macro.
Filehack \GOLD added for GRIPES.OLD[2,2]. \G still gets GRIPES.TXT[2,2].
⊗XAPPEND command now gives error message if on dir page or in unformatted file.
⊗0⊗XEXACT now reports current condition of case-checking in searches.
∂9/25/77 -- New commands αN, αβN; modified commands αO, αβO; other minor changes.
E now remembers the PREVIOUS TWO DIFFERENT PAGES that you have been on
and the PREVIOUS TWO DIFFERENT LINES that you have been at on the current
incore page(s). Note: When you move 4 or less lines up or down, E does not
consider you to have moved enough to warrant saving your old line. Also,
the saved locations of the previous two lines are not corrected for line
insertions and deletions.
To return to the Previous Page, use αO.
To return to the Second Previous Page, use either αβO or ⊗2⊗O.
To return to the Previous Line, use αN.
To return to the Second Previous Line, use either αβN or ⊗2⊗N.
The forms ⊗2⊗O and ⊗2⊗N are easier to use than αβO and αβN on NON-DISPLAYS.
Also, someday E may remember more than two previous places, and the commands
⊗#⊗O and ⊗#⊗N will be used to get to the older places.
The ⊗XBACKGO command is identical with ⊗O (i.e., it distinguishes
between α and αβ).
Other new features:
⊗#αβK now kills # lines at the front of the attach buffer.
The αβV cmd now erases the whole screen; ⊗V now also redraws page printer.
CONTINuing (after exiting) now works even if the file has been changed by
someone else after you exited!
If E crashes without trying to write the crash file E$SAVE.TXT, the
REENTER monitor command can be used to make E write the E$SAVE.TXT
file (which will contain all of the incore text).
If the file is write-protected from you, a warning is given when opening
it in READWRITE mode and whenever you cause the "W" flag to be set.
Any /F switch given on source filename (eg, A←B/F) applies to destination
file instead.
∂9/29/77 -- ⊗P command from last page no longer causes page to be re-read.
This command given on the last page still causes the incore page(s)
to be written out, but it no longer 1) causes multiple pages to be
lost from core, 2) moves you to the top of the page, nor 3) causes
the screen to be redisplayed.
∂10/2/77 -- RPG startup of E now accepts device of edit file in AC 12.
Formerly only files on device DSK: could be edited from RPG startups.
See page 23.
∂11/17/77 -- Three minor bugs fixed.
Bug fix to ⊗XEXECUTE of /N file to avoid losing first character of file.
Bug fix to αβT and ⊗-⊗J commands given from line editor that wrapped around.
Bug fix to ⊗#αβK command to avoid screwing up internal character count.
∂11/22/77 -- Certain filehacks now imply readonly mode.
The filehacks implying /R mode are:
\DIGEST \NOTICE \DAY \DOWN \NAP \NS \PLAN \PLN
Note that the default /R can be overridden by an explicit /-R.
∂12/7/77 -- READ command changed to BOOK. READ now reads documentation files.
The monitor command BOOK has replaced READ for reading a book and having
E remember your place in the book with a .BKP file.
The monitor command
READ <filename>
searches the system documentation disk areas for the file specified and
then edits in Readonly mode whatever file was found. Thus you don't
need to specify either the extension or the PPN of documentation files.
If no extension is given, then files with extensions other than UPD
will be found before UPD files. However, any explicit extension,
project, or PPN given will be observed. If an extension is given but no
PPN, E will look for the particular file on any of the documentation
areas. If a project is given, say PRJ, then E will look for the file
on [PRJ,DOC]. If a programmer name is given, then no searching of
documentation areas will be done and normal PPN scanning applies and
the READ will merely force the file to be edited in Readonly mode.
The switch /D (for Document) does the same thing as the READ command
and is useful when giving a filename when switching files.
Examples:
READ UUO ;Edits the UUO Manual file in Readonly mode.
⊗εMONCOM/D ;Switches to the Monitor Command Manual in Readonly mode.
READ UUO.UPD ;Edits /R the update file for the UUO Manual.
READ NOTICE/E ;Edits /R the NEWS program's text file, starting at the End.
Other new stuff:
Verification of the need to reformat a file is suppressed in /F mode.
The sense of the Yes/No question about keeping an old (invalid)
directory has been inverted for consistency. Say "Y" to flush the
old directory text.
A file with a "bad" extension (eg, .DMP) will now be edited if no file
with a good extension exists when you give a file's name without an
extension.
The initial default PPN for ⊗XEXECUTE and ⊗XPUTDEFS is your logged in PPN.
Macros defined during macro expansion are not typed out. This
particularly effects macros defined in an EXECUTE file. A suggestion
is that you put the command α0αXDEFINE⊗↔ at the end of your EINIT.CMD
file to have the names of all defined macros typed out.
∂12/11/77 -- EREAD monitor command is like ETV but forces /R mode.
Also:
The ⊗XDEFINE command is now legal from line editor.
∂12/20/77 -- Greater-than sign as extension means largest numeric extension.
For example, ET FOO.> will edit the FOO.* file whose extension is the
largest numeric value. E.g., if only FOO.20 and FOO.100 exist, then
ET FOO.> will edit FOO.100. If no file is found with a purely
numeric extension, then ET FOO.> will say File Not Found: FOO.>.
1978
∂04 Jan 78 -- Minor additions and fixes.
The /R switch in a BOOK command no longer disables the use of a
.BKP file. This change makes BOOK <file>/D work as well as
BOOK <file>/R.
The BOOK command positions the user on page 2 when starting a new
book that has an E directory.
E now correctly remembers your place when you exit from a file
with multiple pages in core.
The \FORWARD filehack has been added for editing MAIL's forwarding
file in /R mode. User's should not attempt to change that file.
∂19 Feb 78 -- ⊗N,⊗O,⊗H. File interlocking. Line numbers. More.
⊗N,⊗O,⊗H commands for returning to previous lines, pages, or files:
The commands ⊗N,⊗O,⊗H make use of three corresponding "stacks" of
places you've been at recently: the LINE STACK (⊗N) of lines currently
in core, the PAGE STACK (⊗O) of pages NOT currently in core, and the
FILE STACK (⊗H). Each of the ⊗N,⊗O,⊗H commands works with the
corresponding stack; all of these commands interpret arguments in the
same way and all distinguish between α<cmd> and αβ<cmd>. You can
return to the #th previous place, and/or you can "pop" # places off the
stack, and/or you can "repush" # places back on the stack. See p. 32
for the complete explanation of these three commands and NOTE THAT
αβH IS CHANGED FROM ITS PREVIOUS MEANING.
Line insertions and deletions (including attachments) are now accounted
for in the line stack, and the justify commands update both the line
stack and line marks appropriately. ⊗XCANCEL preserves the line stack
but deletes entries in it for lines that no longer exist. Note that
⊗XCANCEL still restores the line marks to their state when you last
wrote out the page.
When you return to a previous file (whether by number or by explicit
filename), the top part of your page stack from that file is restored
along with all line marks from that file.
Multiple consecutive FF and VT (and ⊗W) commands do NOT remember (on the
line stack) intermediate stopping places. But ANY command besides FF,
VT, ⊗W, and ⊗0⊗N will cause the current line to get remembered. While
you are FF/VTing around a page, the αN command will take you back where
you started the current string of FF/VT commands (even if you are
already there!) and will remember, of course, the line you are leaving.
The directory search commands ⊗F<string>αβP and ⊗F<string>⊗: and the
extended search command ⊗XFIND no longer spuriously remember the top
line of the page they leave you on. The paragraph and message movement
commands ⊗!<cr> and ⊗∂<cr> no longer spuriously remember the first line
of the paragraph or message (e.g., if you came from the middle).
To get the old meaning of arguments to the ⊗H command (page number to
return to), use the new ⊗XHOME command, which works like the old ⊗H
command.
File interlocking:
E now makes sure that someone else hasn't changed your file out from
under you when you try to (1) CONTINUE after an ENTER failure (e.g.,
when you try to write out a page while someone else is reading the
file) or (2) change the protection of the file and fail because of a
protection violation. E also opens the file in Read-Alter mode
before trying to ripple, in order to make sure no one else has the
file open. This should prevent all of the screwups that were
formerly possible when two people simultaneously tried to edit the
same file.
There is a new command ⊗XOPEN which opens the current file in Read-
Alter (RA) mode (⊗XOPEN is not legal in Readonly mode). You should only
use this command if you intend to make some change to the current file,
since such opening of the file in RA mode will update the date/time
written to the present. THIS COMMAND IS NEVER NEEDED -- E will still
open the file in RA mode automatically when you first try to write out a
page -- but ⊗XOPEN is useful if you intend to make some changes to a
file and you want to make sure that when you actually do write out a
page, no one reading the file will cause you to get the ENTER FAILED
message that leaves you talking to the monitor with only two
alternatives: CONTINUE to try again and REENTER to write out the incore
text in your E$SAVE.TXT file. Note, however, that the ⊗XOPEN command
has no failure return -- if it can't open the file, this command itself
generates the same ENTER FAILED message and the program stops and waits
for you to type CONTINUE (or REENTER).
New command ⊗XNUMBERS:
E now lets you select whether or not you want line numbers typed out.
This mainly affects users on non-displays. The command ⊗XNUMBERS
enables typing out line numbers and the command ⊗-⊗XNUMBERS disables
typing line numbers. The current initial default is ⊗XNUMBERS.
Miscellaneous other features:
Macro expansion is stopped (unconditionally) if a macro tries to stuff
more text into the line editor than E has room for in its buffer.
Note that E's buffer is considerably bigger than the line editor's,
so it is still possible to lose some text (without stopping any macro)
if a macro's line editor text is slightly too long for the line editor.
When a file needs to be reformatted, E will not consider discarding the old
directory's text unless that directory ends with a formfeed.
Whenever the E$SAVE.TXT file is written, E's TMPCOR file is also written.
The switch /l,pM is a no-op when switching to the ? file or to a file
that you have already been in (results from restoring line marks for
that file).
A few other infrequent bugs have been fixed.
∂03 Mar 78 -- Several minor new bugs/misfeatures fixed (and one old one).
Bug fixed in typing the name of the file being flushed from the filelist
when the filelist is full.
The input buffer is now cleared just before E exits to await the user
typing CONTINUE to retry an ENTER (or LOOKUP or OPEN).
Bug fixed to checking file for having changed when CONTINUEing after
file busy when extending file from last page.
Bug fixed in ⊗XPROTECTION NNN command to actually change protection
(was no-op for last two weeks).
Insert mode on non-display in -XNUMBERS mode gives prompt and starting
line number but no subsequent line numbers.
Fix to avoid wasted core (1K) at end of upper segment (old bug).
∂10 Mar 78 -- Tmpcor file now includes top three files in stack, plus page stacks.
E now remembers in its tmpcor file the top three files of your file
stack, plus the top part of the page stack of each file. Thus these
files will be restored to your file stack when you next give an ETV or
EREAD monitor command, whether or not that command specifies a file to
edit. Line marks are remembered and restored for each of the three
files remembered. Remember that you can flush your file stack (should
it get too cluttered) with the command ⊗0⊗∃, which makes E forget about
all files but the one you are in.
To allow specifying page stack entries in switches (e.g., in tmpcor
files), a new switch has been added: /x,yO pushes the place of page x
and line y onto the page stack. This switch cannot, however, be used
when editing (by explicit name) a file which E already knows about,
since in that case E will restore the file's previous page stack.
To allow multiple files to be specified (e.g., in tmpcor files), E has
been made to accept multiple filenames (and switches), separated by
commas. Multiple filenames can be typed whenever E is accepting the
name of a file to be edited (e.g., in the original monitor command or in
the ⊗ε or ⊗λ filename line). The first file listed will be edited and
the rest will be pushed (in the order given) onto the file stack (this
means that the second file listed will end up pushed most deeply in the
stack and the last file listed will end up near the top of the stack.
Note that if you are switching files (except by ⊗+⊗H or ⊗-⊗H), the file
you are leaving will end up being pushed onto the stack AFTER the
additional filenames you give in the filename line.
Editing a previous file by explicit name (e.g., ETV FOO or ⊗εFOO<cr>) now
positions you at the page and line where you left that file (unless you
specify otherwise with switches, or unless that file has had some pages
added and you haven't actually edited it with the current core image, in
which case the default position is still the first added page). Note
also that line marks and the page stack for that file are restored even
when switching by explicit name. Thus switching by explicit name now
restores everything that switching by any other mechanism restores,
except for readonly status, which is implied by the ⊗ε or ⊗λ (but which
can be overriden with /R).
The new extended command ⊗XTHISPAGE is useful for going from multipage
mode (two or more pages in core) to single page mode (one page in core).
This command writes out the incore text and then reads in only the page
where the arrow is. The position of the arrow and (when possible) the
window are preserved. However, the line stack is currently cleared.
The extension S1 has been added to E's good extension list, and the
extensions LDI and RIM have been added to the bad list (file never
edited unless extension given explicitly or unless only one file exists
with the given primary name).
Readonly mode is forced (and announced) on an attempt to edit any
non-formatted file that is write-protected from you. Formerly, you got
the error halt "ENTER FAILED, PROTECTION VIOLATION" upon an attempt to
edit such a file.
A bug has been fixed which caused any appropriate /N to be left out of
the tmpcor file and the header line whenever the filename extension was
blank.
∂12 Mar 78 -- Improvements in new stuff.
(See previous message first, if you haven't already read it).
Editing a file that has been extended (e.g., a message file) starts at the
FIRST NEW PAGE if the file either (1) is named explicitly (with no
page-specifying switch, e.g., ⊗ε∂<cr>), (2) is the first file edited in
that core image (e.g., ET ∂<cr> or ET<cr>), or (3) has changed between
exiting and CONTINUing. Otherwise, an extended file will be edited
starting at the page and line where you were when you left that file
(that is, switching files by explicit number (e.g., ⊗2⊗λ) or with the ⊗H
command will always return you to the page and line you were previously
positioned at, even if the file has been extended before or since then).
Whenever the /nP switch is used to start editing at page n, the default
line (if no line switch is given) is now always line 1.
Filenames read from tmpcor are assumed complete, even though they may
contain no device name or PPN.
The ⊗XHOME command (old ⊗H cmd) now uses (the top of) the new file stack
(for going to a relative or absolute page in home file).
The /-R switch now properly disables readonly mode even if ⊗λ was given.
The ⊗XTMPCOR command now forces subsequent exiting and file switching to
write out the tmpcor file, making it appear you used a standard E
monitor command (like ETV) to run E (instead of using, e.g., the monitor
command R E, which normally suppresses writing out of the tmpcor file).
∂14 Mar 78 -- Improved line insert mode (affects display users only):
IMPORTANT CHANGES to ⊗I, αβ<cr>, αβ↑, αβ↓, αβ. and new αβ<tab>.
It is now possible to get into line insert mode without having a new blank
line added. To do this, type either αβI from the middle of the line
editor (that is, while editing a line) or ⊗I from the end of the line
editor. These commands will turn on line insert mode and leave you
positioned wherever you are, but the next <cr> you type will create a new
line. Note that, having used ⊗I thusly, if you then type <altmode> with
any text in the line, that text will be saved -- the altmode will not
restore any version of that line that existed before you edited it. If
you don't want the final edited text you have, you can get back the text
as of the ⊗I command by clearing the line editor (e.g., type <clear>) and
then typing <altmode>. This means that ⊗I from the line editor (not
including αI when interpreted as a line editor command) saves the current
text of the line (in core -- not on the disk) thus preventing you from
getting back (with altmode) a previous version of that line.
There has also been a small constructive change made to the αβ<cr> command
when given from the middle (not end) of the line editor. This command now
breaks the current line in two, as before, but instead of inserting a
blank line between the two halves and leaving you there in line insert
mode, it merely leaves you at the end of the first part of the line in
line insert mode, without adding a new blank line. This new effect should
be much more useful than the old version.
Note that these changes make αβI behave differently from αβ<cr> when in
the line editor. The meanings of these two commands outside the line
editor are unchanged; in that case αβI and αβ<cr> do the same thing,
namely, put you into line insert mode on a new blank line. Also, whenever
any numeric argument is given to either of these commands, the old meaning
is still in effect -- namely, to insert N blank lines (and not leave you
in line insert mode).
To make line insert mode on old text lines easier to get into, two old
commands and one new one have been made to enter line insert mode if both
α and β are on. These commands are αβ<tab> and αβ↑ and αβ↓. The latter
two still go to the end of the line above or below, but now also enter
line insert mode. The αβ<tab> command is just like α<tab> (goes to the
end of the current line) except that it also enters line insert mode.
Notice again that if you type αβ<tab> while in the line editor, the line
editor text is saved at that point and a subsequent <altmode> has its
usual line-insert-mode meaning.
Another important (and related) new feature is the ability to write out
the page from the line editor with the αβ. command (must have both α and β
in order to work). This command writes out (to the disk) the text that is
currently in the line editor (as well as the rest of the page) and then
leaves you in the line editor (in line insert mode if you were in it
before). A subsequent <altmode> typed on that line will not restore the
original text of the line; if you are NOT in line insert mode, it will
restore the text that was written out, and if you ARE in line insert mode,
the <altmode> will have its usual line-insert-mode effect. Note that
writing out the page from inside the line editor may cause E to Ripple the
file, even though you may not see any X (or W even) on the header line,
since the display is not updated before writing the page out.
Remember that in all cases, if you type <altmode> from a NON-EMPTY line
editor while in line insert mode, the line editor text is retained for
that line and you leave line insert mode. If you type <altmode> from an
EMPTY line editor in line insert mode, you leave line insert mode with
either the saved text (if any) for that line restored (if you typed ⊗I or
⊗<cr> or αβ. in that line) or the (empty) line deleted.
∂15 Mar 78 -- Bug fixed; window restored on returning to a file.
Bug fixed to properly remember in tmpcor file the values of the /R switch
for all filenames written in tmpcor.
Also, the window position is now preserved and restored upon switching
files and returning. Currently, the window positions for page stack
entries are not written out in the tmpcor file, except for the last page
and line you were at in the file.
∂17 Mar 78 -- Window position saved/restored with line stack.
E now remembers the window position of each line in the line stack. When
you return to a line via ⊗N, the old window associated with that line is
restored unless the line was already on the screen, in which case the
window is not changed.